home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c-part1 / 9856 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.0 KB

  1. Path: newshost.cyberramp.net!news
  2. From: sinan@cyberramp.net (John Noland)
  3. Newsgroups: comp.lang.c
  4. Subject: Re: goto
  5. Date: 13 Mar 1996 23:37:47 GMT
  6. Organization: Prose Software
  7. Message-ID: <4i7m8b$ij@newshost.cyberramp.net>
  8. References: <Pine.OSF.3.91.960313102715.10701D-100000@io.UWinnipeg.ca>
  9. NNTP-Posting-Host: ramp2-1.cyberramp.net
  10. X-Newsreader: WinVN 0.99.5
  11.  
  12. In article <Pine.OSF.3.91.960313102715.10701D-100000@io.UWinnipeg.ca>, wsimpson@uwinnipeg.ca says...
  13. >
  14. >There was a goto thread lately, and my problem is to state this algorithm 
  15. >cleanly without gotos (which I think is easy, but my attempts have been 
  16. >failures).
  17. >
  18. >0. x=0;
  19. >1. x+=erand(maxmean);
  20. >2. if (urand2()>rate(x)/maxrate)
  21. >        goto step 1
  22. >3. if (x<=XMAX)
  23. >        {
  24. >        setdot(x,y,z);
  25. >        goto step 1
  26. >        }
  27.  
  28.  
  29. This would be one way to do it:
  30.  
  31. x = 0;
  32. for (;;) {
  33.     x += erand(maxmean);
  34.     if (urand2() > rate(x)/maxrate)
  35.         continue;
  36.     if (x <= XMAX) {
  37.         setdot(x, y, z);
  38.         continue;
  39.     }
  40.     break;
  41. }     
  42.     
  43.  
  44. - John
  45.  
  46.